import java.util.Random;
import java.util.Scanner;

public class Test5 {
    //1.统计9出现的次数
    public static void main1(String[] args) {
        int coun=0;
        for (int i = 1; i <=100 ; i++) {
            if (i%10==9||i/10==9){
                coun++;
                System.out.println(i);
            }
        }
        System.out.println(coun);
    }
    //2.使用 Scanner 读取字符串/整数/浮点数
    public static void main2(String[] args) {
    Scanner scan=new Scanner(System.in);//读取用户输入语句
        System.out.println("读入一个字符串");
        String str= scan.nextLine();//识别输入   nextline与next相比好处是遇到空格不会结束
        System.out.println(str);//输出

        System.out.println("读入一个整型");
        int age= scan.nextInt();
        System.out.println(age);

        System.out.println("读入一个浮点型");
        float fox= scan.nextFloat();
        System.out.println(fox);
    }
   //3.猜数字游戏
   public static void main3(String[] args) {
       Random random=new Random();//Java 中用于生成伪随机数的语句
       int randNum=random.nextInt(100);//[0-100]
       System.out.println(randNum);//输出随机生成的数字


       Scanner scan=new Scanner(System.in);//读取用户输入语句
       while (true){
           System.out.println("请输入你要猜的数字");
            int num= scan.nextInt();
            if (num<randNum){
                System.out.println("猜小了");
            } else if (num==randNum) {
                System.out.println("猜对了");
            }
            else{
                System.out.println("猜大了");
            }
       }
   }
   //4.方法的调用
   //方法的返回值是可选的. 有些时候可以没有的 ，没有时返回值类型必须写成void
    public static void deepYear(int year){
        System.out.println("没有返回值");
    }

    public static void main6(String[] args) {
        deepYear(2009);
    }
    //方法体必须写在类内
   //   public static 返回值类型 方法名 形参（参数类型 ）{
   //   方法体
   //   }
    public static boolean lowYear (int year){
        System.out.println("方法被调用了");
        return true;
    }
   public static void main4(String[] args) {
        lowYear(2008);
   }
   //方法的调用判断某一年是否为闰年
    public static int newYear(int year){
        if((year%4==0&&year/100!=0)||year%100==0){
            return 1;
        }
        else {
            return 2;
        }
    }
   public static void main7(String[] args) {
       int year=newYear(2008);
       if (year==1){
           System.out.println("闰年");
       }
       else{
           System.out.println("不是");
       }
   }
    //5.形参的改变不会影响实参,因为Java上拿不到栈上的地址。
    public static void leapYear(int a){
     a=100;
    }

    public static void main5(String[] args) {
       int year=2000;
        leapYear(year);
        System.out.println(year);
    }
   //6.用调用方法的形式 计算 1! + 2! + 3! + 4! + 5!调用方法fac(i)

    public static int fac(int aug){
        int result=1;
        for (int i = 1; i <=aug ; i++) {
            result*=i;
        }
        return result;
    }
    public static void main66(String[] args) {
       int sum=0;
        for (int i = 1; i <=5; i++) {
            sum+=fac(i);
        }
        System.out.println(sum);
    }
    //7.方法重载
    //意义减少命名负担，提高可读性。
    //1. 方法名必须相同
    //2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同) 3. 与返回值类型是否相同无关
    public static int add(int a,int b){
        return a+b;
    }
    public static int add(int a,int b,int c){
        return a+b+c;
    }
    public static double add(double a,double b,double c){
        return a+b+c;
    }

    public static void main77(String[] args) {
        int x=1;
        int y=2;
        int ret=add(x,y);
        System.out.println(ret);

        int z=3;
        int w=4;
        int u=5;
        int ret1=add(w,z,u);
        System.out.println(ret1);

        double q=1.3;
        double e=1.4;
        double t=1.5;
        double ret3=add (q,e,t);
        System.out.println(ret3);
    }
    //8.方法重载顺序不一样
    public static double add(int c,double d){
        return c+d;
    }
    public static double add(double d,int c){
        return c+d;
    }

    public static void main(String[] args) {
        int c=1;
        double d=2.1;
        double ret=add(c,d);
        double ret1=add(c,d);
        System.out.println(ret);
        System.out.println(ret1);
    }
}
